.\"   $Id: lvx.1,v 1.3 2004/05/22 14:26:07 ludo Exp $
.\" @(#)lvx.l 0.0 92/11/27 UPMC; Author: Francois Nacabal
.TH LVX 1 "October 1, 1997" "ASIM/LIP6" "ALLIANCE USER COMMANDS"
.SH NAME
lvx \- Logical Versus eXtracted net-list comparator 
.SH SYNOPSIS
.TP
\fBlvx \fIformat1 format2 filename1 filename2 \fB[ -a ] [ -u ] [ -o ] [ -f ]\fR
.br
.so man1/alc_origin.1
.SH DESCRIPTION
.B lvx
compares two gate-level or block level net-list. The goal is to compare
a specification net-list (logical net-list), the input to a place and route tool,
with the physical net-list (extracted net-list) obtained by the
.BR cougar (1)
extractor.
.br
The net-list 1 is considered as the logical net-list and net-list 2 as the
extracted net-list.
.br
.br
.B lvx
is an one-level hierarchical tool:
.IP
The two net-list are flattened, if the \fB-f\fP option is present, to the cells
contained in the catalog file. The path to the catalog file is indicated in the
.BR MBK_CATA_LIB (1)
variable for the cell library, and in the
.BR MBK_WORK_LIB (1)
variable with the name
.BR MBK_CATAL_NAME (1)
for user blocks (
.BR catal (5)
) that are not to be flattened.
.IP
For both net-list, the instances are considered as black-boxes.
.IP
The two net-list must have the same external connectors names.
.IP
The two net-list must have the same instances names.
.IP
The two net-list must have the same signals names for unconnected signals.
.IP
The two net-list cannot directly contain transistors.
.LP
Comparison is performed in three steps:
.IP
Compare terminals.
.IP
Compare instances.
.IP
Compare connections.
.IP
Compare unconnected signals.
.LP
If an error occurs during first or second step, a message is
immediately displayed and the third step will not start:
.B lvx
cannot compare connections (signals) if terminals
or instances are not equivalent.
.br
The
.B -o
option allows to order connectors if the steps described before have been
reached successfully.
.I Extracted_netlist
is then saved on disk. The file get the name
.I filename2
suffixed by the value of
.BR MBK_OUT_LO (1)
variable.
.br
Routers add automatically empty feed-through cells.
These cells must not be taken into account in the comparison.
A cell that have the
.I F
attribute in the catalog file (
.B catal (5)
) is considered as feed-through cell, and are deleted, in memory, from the
net-list where it appears.
.SH OPTIONS
.TP
.B "-a"
Some routers generate layout with several physical connectors for power and
ground (
.I VDD
or
.I VSS
).
If those connectors are not internally connected, they will have different
indexed names (
.I VDD1
,
.I VDD2
etc...) in the extracted net-list.
It is possible to perform reduction on those power and ground connectors before
comparison, using the -a option.
After reduction, each instance contains only one
.I VDD
connector and one
.I VSS
connector, as the main figure.
.TP
.B "-o"
In this case,
.B lvx
produces a modified net-list (saved with the name
.I filename2
), which is a copy of net-list 2 with ordered connectors.
Terminals and instance connectors are relisted in the order of the models
in net-list 1. The saved net-list is done with the
.BR MBK_OUT_LO (1)
format, so user has to set this variable before running
.B lvx
\&.
If he does not, default value is used, and net-list 1 could be lost if
filename are identical and input format same as output format.
.br
If -a option is used, then the saved net-list is the reduced net-list with only
one
.I VDD
and one
.I VSS
\&.
.TP
.B "-u"
This option force 
.B lvx 
to check the consistency of unassigned signals between the two netlists.
.TP
.B "-f"
The two net-lists are flattened to the leaf cells contained in the catalog
file. Usually the extracted net-list is a flatten net-list, while the logical
one can be a hierarchical net-list.
.SH EXAMPLES
With
.I logical_netlist
named amd2901.vst and the corresponding
.I extracted_netlist
as amd2901.al containing multiple power connectors, the command line is :
.br
.IP
.B lvx
vst al amd2901 amd2901 -a
.br
.LP
.SH OUTPUT FILES
.TP 20
\fIfilename2\fP.\f4xx\fP
Netlist view saved when the \fB-o\fP option is present. The suffixe depend on
the \f4MBK_OUT_LO\fP(1) environment variable.
.SH ENVIRONMENT VARIABLES
.TP 20
\f4MBK_CATA_LIB\fR
contains the directories where the cell librtaries are.
\f4MBK_WORK_LIB\fR
contains the directory path of the working directory, usually set to
\f4.\fR (dot).
.TP
\f4MBK_OUT_LO\fR
contains the expected format of the netlist output.
.TP
\f4MBK_CATAL_NAME\fR
contains the name of the user cell catalog.
.SH SEE ALSO
.BR cougar (1),
.BR MBK_OUT_LO (1),
.BR MBK_WORK_LIB (1),
.BR MBK_CATA_LIB (1),
.BR MBK_CATAL_NAME (1),
.BR catal (5)
\&.
.SH DIAGNOSTICS
The string "_logic" is appended to the net-list 1 and the string "_extract", is
appended to the net-list 2.
.LP
Two kinds of error message can occur:
.IP
A fatal error causes the program to exit.
It happens when one of the net-lists is not correct,
.B lvx
cannot construct internal structure for compare.
.IP
A compare error occurs when the figures are not identical.
It happens when basic objects (instances, connectors) do not exist in both
net-list, or when connections (signals) do not connect same terminals or
instances in the two net-lists.
.LP
Exit code 0 is returned for identical net-lists.

.so man1/alc_bug_report.1

